package com.tjec.project.projectWorkbench.service;

import com.tjec.project.projectWorkbench.domain.BmsCostNo;
import java.util.List;

/**
 * 造价报告号Service接口
 * 
 * @author pangyongfeng
 * @date 2020-08-05
 */
public interface IBmsCostNoService 
{
    /**
     * 查询造价报告号
     * 
     * @param guid 造价报告号ID
     * @return 造价报告号
     */
    public BmsCostNo selectBmsCostNoByGuid(String guid);

    /**
     * 查询造价报告号列表
     * 
     * @param bmsCostNo 造价报告号
     * @return 造价报告号集合
     */
    public List<BmsCostNo> selectBmsCostNoList(BmsCostNo bmsCostNo);

    /**
     * 新增造价报告号
     * 
     * @param bmsCostNo 造价报告号
     * @return 结果
     */
    public String insertBmsCostNo(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号
     * 
     * @param bmsCostNo 造价报告号
     * @return 结果
     */
    public int updateBmsCostNo(BmsCostNo bmsCostNo);

    /**
     * 批量删除造价报告号
     * 
     * @param guids 需要删除的造价报告号ID
     * @return 结果
     */
    public int deleteBmsCostNoByGuids(String[] guids);

    /**
     * 删除造价报告号信息
     * 
     * @param guid 造价报告号ID
     * @return 结果
     */
    public int deleteBmsCostNoByGuid(String guid);
    
    /**
     * 检查本业务下本报告类别是否已存在报告号
     * @param bmsReportNo
     * @return
     */
    public Integer checkBmsCostNo(BmsCostNo bmsCostNo);
    
    /**
     * 成果校审获取报告类型和报告号
     * @param bmsCostNo
     * @return
     */
    public List<BmsCostNo> selectCostTypeAndNoList(BmsCostNo bmsCostNo);

    /**
     * 更新造价报告号历史表状态为“已迁移”
     * @param bmsCostNo
     * @return
     */
    public int updateBmsCostNoHistory(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号表通过造价报告号
     * @param bmsCostNo
     * @return
     */
    public int updateBmsCostNoByCostNo(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号历史表通过造价报告号
     * @param bmsCostNo
     * @return
     */
    public int updateBmsCostNoHistoryByCostNo(BmsCostNo bmsCostNo);
}
